package Principal;


import java.io.IOException;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Gauge;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

/**
 * Clase SplashScreen. Dibuja la pantalla inicial de la aplicación.
 * @author Noelia Alonso Garrido
 * @author Abel Torres Alonso
 * @author Diego Vallejo Alonso
 */
public class SplashScreen extends Canvas implements Runnable {  

    private Image mImage;
    private  Wallet projectMIDlet;
  

    /**
     * Constructor de la clase. Intenta cargar la imagen e inicia un hilo con timeout.
     * La pantalla se quita al presionar una tecla, o automaticamente despues del timeout.
     * @param projectMIDlet instancia del MIDlet
     */
    public SplashScreen(Wallet projectMIDlet){
        this.projectMIDlet = projectMIDlet;
        try{
            mImage = Image.createImage("/principal/fajoBilletes.png");
            Thread t = new Thread(this);
            t.start();
        }
        catch(IOException e){
            e.printStackTrace();
        }
    }

    /**
     * Dibuja la imagen centrada en la pantalla.
     */
    public void paint(Graphics g) {
        int width = getWidth();
        int height = getHeight();
        g.setColor(0,0,255);
        g.fillRect( 0,0,width,height);
        g.drawImage(mImage, width / 2, height / 2,Graphics.HCENTER | Graphics.VCENTER);
    }

    /**
     * Timeout por defecto del hilo.
     */
    public void run() {
        try {
            Thread.sleep(5000);
        }
        catch (InterruptedException e) {
            System.out.println("InterruptedException");
            e.printStackTrace();
        }
        projectMIDlet.iniciar();
    }

    /**
     * Establece la pantalla que sigue al Splash al presionar una tecla.
     */
    public void keyReleased(int keyCode) {
        projectMIDlet.pantalla.setCurrent(projectMIDlet.pantallaInicial);
        projectMIDlet.iniciar();
    }

}
